2013-10-14 5 views
0

Есть три основные проблемы, связанные с инкассо:Управление международных пользователей

Наша компания занимается венгерских продуктов, в том числе описание продукта с диакритическими знаками. Новый RestAPI может успешно управлять платежами для разрешения первого раунда, но я не могу акцентировать символы, чтобы передать сервер PayPal.

Если HTML.Encoding я использую, текст шифрования будет отображаться на странице проверки, не расшифровывая сервер Paypal. (Окружающая среда: Windows, .NET, C#)

Итак:

1. Как использовать акцентированные символы с именем элементов?

Update:

Я попытался UTF8 следующим образом:

1,1. получить токен доступа:

curl https://api.sandbox.paypal.com/v1/oauth2/token \ 
-H "Accept: application/json" \ 
-H "Content-Type: charset=UTF-8" \ 
-H "Accept-Language: hu_HU" \ 
-u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" \ 
-d "grant_type=client_credentials" 

1.2. ответ:

{"scope":"openid https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card/.* https://api.paypal.com/v1/vault/credit-card 

https://api.paypal.com/v1/developer/.*", 
"access_token":"5tz416Qgym8Si9RM0nBS4DNSrGRFCMu5vZ923s--hLM", 
"token_type":"Bearer", 
"app_id":"APP-8KK24973T6066201W", 
"expires_in":28800 
} 

1.3. JSON содержание (я сохранен как UTF-8 текстовый файл с помощью блокнота с именем 'контент-utf8.json')

{ 
    "intent":"sale", 
    "redirect_urls":{ 
    "return_url":"http://example.com/your_redirect_url/", 
    "cancel_url":"http://example.com/your_cancel_url/" 
    }, 
    "payer":{ 
    "payment_method":"paypal" 
    }, 
    "transactions":[ 
    { 
     "amount":{ 
     "total":"7.47", 
     "currency":"USD" 
     }, 
     "description":**"Árvíztűrő tükörfúrógépes tanfolyam"** 
    } 
    ] 
} 

1.4. Послать платеж

curl -v https://api.sandbox.paypal.com/v1/payments/payment \ 
-H 'Content-Type:application/json; charset=utf-8' \ 
-H 'Authorization:Bearer 5tz416Qgym8Si9RM0nBS4DNSrGRFCMu5vZ923s--hLM' \ 
--data 'content-utf8.json' 

1.5. Ответ

* Adding handle: conn: 0x1385f58 
* Adding handle: send: 0 
* Adding handle: recv: 0 
* Curl_addHandleToPipeline: length: 1 
* - Conn 0 (0x1385f58) send_pipe: 1, recv_pipe: 0 
* About to connect() to api.sandbox.paypal.com port 443 (#0) 
* Trying 23.42.27.39... 
* Connected to api.sandbox.paypal.com (23.42.27.39) port 443 (#0) 
* successfully set certificate verify locations: 
* CAfile: C:\Program Files\Git\bin\curl-ca-bundle.crt 
    CApath: none 
* SSLv3, TLS handshake, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Request CERT (13): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSL connection using RC4-SHA 
* Server certificate: 
*  subject: C=US; ST=CALIFORNIA; L=San Jose; O=PayPal, Inc.; OU=Partner Su 
pport; CN=api.sandbox.paypal.com 
*  start date: 2013-08-20 00:00:00 GMT 
*  expire date: 2015-08-21 23:59:59 GMT 
*  subjectAltName: api.sandbox.paypal.com matched 
*  issuer: C=US; O=VeriSign, Inc.; OU=VeriSign Trust Network; OU=Terms of 
use at https://www.verisign.com/rpa (c)10; CN=VeriSign Class 3 Secure Server CA 
- G3 
*  SSL certificate verify ok. 
> POST /v1/payments/payment HTTP/1.1 
> User-Agent: curl/7.30.0 
> Host: api.sandbox.paypal.com 
> Accept: */* 
> Content-Type:application/json; charset=utf-8 
> Authorization:Bearer 5tz416Qgym8Si9RM0nBS4DNSrGRFCMu5vZ923s--hLM 
> Content-Length: 12 
> 
* upload completely sent off: 12 out of 12 bytes 
< HTTP/1.1 400 Bad Request 
* Server Apache-Coyote/1.1 is not blacklisted 
< Server: Apache-Coyote/1.1 
< PayPal-Debug-Id: eb749926be259 
< Content-Type: application/json;charset=UTF-8 
< Content-Length: 200 
< DC: origin2-api.sandbox.paypal.com 
< Date: Tue, 15 Oct 2013 09:03:52 GMT 
< Connection: close 
< Set-Cookie: DC=origin2-api.sandbox.paypal.com; secure 
< 
{"name":"MALFORMED_REQUEST", 
"message":"The request JSON is not well formed.", 
"information_link":"https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST", 
"debug_id":"eb749926be259"} 
* Closing connection 0 
* SSLv3, TLS alert, Client hello (1): 

В нижней строке: ** MALFORMED_REQUEST:. Запрос JSON не хорошо сформирован **

+++

Мы планируем для наших клиентов из различных стран, так что было бы неплохо, если бы на странице их будет отображаться страница PayPal (если поддерживается языком).

2. Как его решить, возвращенный на странице утверждения Paypal approvurl, отображаемой на английском/венгерском языке (или на любом другом языке, поддерживаемом paypal)?

При оплате клиентами, перенаправленными на сайт PayPal, где вы можете заплатить кредитной картой, вы должны заполнить несколько полей (имя, фамилия, адрес, телефон и т. Д.). Tulum было бы неплохо, если бы мы могли получить эти данные вперед.

+++

3. Как я могу получить через PayPal RestAPI (или иным способом) для передачи данных клиента на сервер до оплаты PayPal?

Любая помощь приветствуется!

ответ

1

Paypal принимает только UTF-8. Я не пробовал венгерские языки, но UTF-8 расскажет об этом. Убедитесь, что все ваши вызовы закодированы таким образом, и они должны пройти.

Paypal, скорее всего, покажет им страницы на ближайшем к ним языке. Я не вижу, чтобы венгерский явным образом перечислялся в ЛОКАЛЬНЫХДЕЛАХ, перечисленных на this page. Извините, я не могу больше помогать здесь.

Что касается того, как отправлять данные в Paypal, я нахожу, что CURL отлично работает для этого.

+0

Спасибо за то, что вы потратили на мою поддержку! Я тестировал, используя curl, но не смог. В любом случае, ищите UTF8, если это помогает. –

Смежные вопросы