Hibernate



위와 같은 관계를 가지는 상황에서


attributes Collection 을 새로운 객체로 대체하려할때


아래와 같은 에러를 볼 수 있다.


HibernateException – A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance




이때는 item.setAttributes(newAttributes) 대신에


item.clear();

item.addAll(newAttributes);


로 하면 제대로 동작한다.



http://stackoverflow.com/questions/9430640/a-collection-with-cascade-all-delete-orphan-was-no-longer-referenced-by-the-ow



YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST



Email Address, First Name, Last Name 세가지 데이터로


해당 유저의 정보를 조회할 수 있다. 세가지 전부 대소문자 구분없이 입력해도 되지만, 띄워쓰기는 정확해야한다.


조회 가능한 정보

String accountStatus;
String countryCode;
String emailAddress;
String accountType;
String accountId;
String businessName;
String salutation;
String firstName;
String middleName;
String lastName;
String suffix;


pom.xml

<dependency>
<groupId>com.paypal.sdk</groupId>
<artifactId>adaptiveaccountssdk</artifactId>
<version>2.6.106</version>
</dependency>



sdk_config.properties 


https://github.com/paypal/PayPal-Java-SDK/blob/master/rest-api-sdk/src/test/resources/sdk_config.properties


properties 파일을 열면 아래 네가지가 필수인데, Sandbox 로 테스트할때는 기존에 있는대로 해도 동작하지만

live 모드에서는 error

acct1.UserName=*****
acct1.Password=********
acct1.Signature=***********
acct1.AppId=**************


일단 PayPal Account credentials 정보(acct1.UserName, acct1.Password, acct1.Signature)가 필요한데 

아래 링크를 따라하면 3가지를 얻을 수 있다.

https://developer.paypal.com/docs/classic/api/apiCredentials/


다음 한가지 acct1.AppId 는 

https://www.paypal-apps.com 에서 등록해야한다. 뭐 이것저것 많이 넣어줘야하는데 가장 중요한건


Get Verified Status 를 체크해줘야 한다. 다른건 필요하면 체크하세요




필수 정보를 다 입력하고 나면 아래그림처럼 보통 status 가 Approved Automatically 가 된다.


그 위에 있는 Live App ID 가 필요한 정보다. 복사해서 acct1.AppId 에 넣어주자.





다음은 아래쪽으로 내려가면 service.EndPoint.AdaptiveAccounts 가 주석으로 돼있는데 해제해야한다.

# AdaptiveAccounts Platform Service
service.EndPoint.AdaptiveAccounts=https://svcs.paypal.com/



Code


GetVerifiedStatusRequest request = new GetVerifiedStatusRequest();

request.setMatchCriteria("NAME");
request.setEmailAddress(email);
request.setFirstName(firstName);
request.setLastName(lastName);

AdaptiveAccountsService aas = new AdaptiveAccountsService(
new File("src/main/resources/sdk_config_live.properties"));
GetVerifiedStatusResponse response = aas.getVerifiedStatus(request);
String status = response.getAccountStatus();



참고

https://github.com/paypal/adaptiveaccounts-sdk-java

http://stackoverflow.com/questions/3228963/how-to-validate-paypal-account






'PayPal' 카테고리의 다른 글

[PayPal SDK] Email Address 로 해당 User 정보 조회  (0) 2016.03.08
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST



Twitter 공유하기 


공유하고자 하는 페이지 상단에 아래와 같이 추가한다.


<meta name="twitter:card" content="summary_large_image" />
<meta property="og:title" content="타이틀" />
<meta property="og:url" content="공유하는 해당 페이지 url" />
<meta property="og:description" content="description" />
<meta property="og:image" content="***Image URL***" />
<meta name="twitter:site" content="@트위터아이디" />
<meta name="twitter:creator" content="@트위터아이디" />

twitter:card 종류는 https://dev.twitter.com/cards/types 에 있다.



트위터는 공유하기전에 https://cards-dev.twitter.com/validator 에서 해당 도메인에 대한 whitelist 등록을 해야하는데,

등록은 그냥 Card URL 에다가 공유하고자하는 페이지 URL 을 넣고 'Preview Card' 버튼을 누르면

  *.******.com is whitelisted for summary_large_image card 라고 뜨면 등록된 것이다.



Javascript 


var shareURL = encodeURIComponent( $('meta[name="twitter:url"]').attr("content") );
var url;
var title = $('meta[property="og:title"]').attr("content");


var popOption = "width="+ pWidth +",height="+ pHeight +",left="+ pLeft +",top="+ pTop +
",location=no,menubar=no,status=no,scrollbars=no,resizable=no,titlebar=no,toolbar=no";


url = "http://twitter.com/share?url=" + shareURL +
"&text=" + twitterContent;

window.open(url, 'Share to twitter', popOption);



'SNS > Twitter' 카테고리의 다른 글

[Share to twitter] 웹페이지 트위터 공유하기  (0) 2016.02.17
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST